1. Field of the Invention
The present invention is related generally to spread spectrum radio communication systems, and more particularly to nonsinusoidal spread spectrum radio communication systems used to determine the locations of transceivers.
2. Prior Art
In traditional radio communication systems the transmitted electromagnetic power is concentrated in a narrow frequency band, whereas in spread spectrum communication systems the power is distributed over a relatively large bandwidth Spread spectrum radio communications are used in place of traditional systems to circumvent communications jamming by interference signals, prevent detection and interception by unwanted receivers so as to provide privacy, provide tolerance to multipath transmissions, send multiple independent signals over a frequency band, and/or provide accurate ranging information.
The standard categories of spread spectrum radio communication techniques include direct sequence, frequency modulation, chirp modulation (or linear frequency modulation), and time hopping. In chirp modulation each transmitted pulse has a carrier frequency which changes linearly with time. The reception circuitry is designed such that the propagation of the signal through the circuitry is inversely related to the carrier frequency, so that the length of chirped pulses are shortened and there is increased signal power during the pulses in comparison to unchirped signals. In frequency hopping transmissions the frequency of the carrier changes according to a pseudorandom sequence. The receiver must know the pseudorandom sequence to be able to tune to the correct carrier frequencies at the proper times. Time hopping transmissions consist of a sequence of frames, each frame having a single impulse or monocycle (see R. A. Scholtz, xe2x80x9cMultiple Access with Time-Hopping Impulse Modulation,xe2x80x9d MILCOM""93, Bedford, Mass. 1993). The location of the pulses in the frames is determined by a pseudorandom sequence, and without knowledge of the sequence the signal cannot be detected.
In direct-sequence spread-spectrum transmissions; the transmitted signal a(t) is encoded with a data string d(t) of positive and negative unity according to
a(t)="psgr"(t)d(t)cos(xcfx89t+xcex8), 
where t is time, xcfx89 is the angular frequency of the carrier, xcex8 is a phase angle, and the modulating signal "psgr"(t) is a string of pseudorandom sequences "PHgr"(t), the pseudorandom sequences "PHgr"(t) being repeated M times, i.e.,
"psgr"(t)="PHgr"(t mod ts), 
where xe2x80x9cmodxe2x80x9d represents the module operation, ts is the length of the pseudorandom sequence, "PHgr"(t) is zero outside the range 0xe2x89xa6txe2x89xa6ts, and "psgr"(t) is equal to zero outside the range 0xe2x89xa6txe2x89xa6Mts, The signal d(t) is a data stream of positive and negative unity values, the values of d(t) changing at the beginning of each cycle of the pseudorandom signal "PHgr"(t). Each pseudorandom sequence "PHgr"(t) consists of a string of basic units called xe2x80x9cchips.xe2x80x9d Each chip consists of a chip function xcex3(t)xe2x80x94in the simplest cases the chip function xcex3(t) has a constant valuexe2x80x94multiplied by a code sequence "sgr"(i), where i is an integer and "sgr" takes on the phase factor values of plus and minus one. Each chip has a length of xcex4t, and if there are L chips per pseudorandom sequence "PHgr"(t) then "PHgr"(t) has a period ts of (L*xcex4t). The pseudorandom sequence "PHgr"(t) therefore has the functional form
"PHgr"(t)=xcex3(t mod xcex4t) * "sgr"[t/xcex4t], 
where the square brackets indicate the largest integer less than or equal to the argument within the brackets, and xcex3(t) is zero outside the range 0xe2x89xa6txe2x89xa6xcex4t. When 1/xcfx89 is much smaller than the chip length xcex4t, and the value of "PHgr"(t) changes much faster than the value of d(t) (for instance when L is much greater than unity) the transmitted spectrum has a width on the order of the width of the spectrum of the chip function xcex3(t). This relation allows the transmitted spectrum to be xe2x80x9cspreadxe2x80x9d by imposing a chip function xcex3(t) with a wide spectrum. To receive the direct sequence transmission it is necessary to know the pseudorandom sequence "PHgr"(t) and the phase of the carrier and the chip function xcex3(t). It should be noted that all the above-mentioned spread spectrum techniques rely on a sinusoidal carrier.
Historically, localization systems have been used for surveying and military applications, such as troop positioning and aircraft and missile guidance. The most prevalent military localization systems, Loran, Omega, and Global Positioning System (GPS), determine position based on the propagation time of the electromagnetic signals from beacons at known locations. Loran and Omega beacons are ground-based, arid GPS transmitters are satellites. In these localization technologies, pulses are modulated onto a sinusoidal carrier, and traditional resonant circuits are used for transmission and reception.
The GPS system utilizes 21 active satellites in 12-hour orbits above the Earth to allow determination of three-dimensional position to an accuracy to about 10 meters, and velocity to an accuracy of 0.03 meters/second. At any location on Earth at least four GPS satellites are above the horizon at all times. Each satellite transmits the position of the satellite in space, and highly accurate time information derived from an onboard atomic clock. The user""s position and the bias of the user""s clock are determined by measuring the time for propagation of the signals from the satellites to the user.
Because refraction effects, deviations in velocity and variations in amplitude of radio waves propagating through the ionosphere increase with decreasing frequency, the accuracy of a satellite-based localization system is increased by using high frequency radio transmissions. however, the frequency is limited by practical circuit-design considerations and the fact that the absorption of radio transmissions by water molecules, even in fair weather, increases sharply near 10 GHz. The satellites transmit at two frequencies 1.227 GHz and 1.575 GHz, to allow corrections to be made for frequency-dependent time delays in the propagation of the signals through the atmosphere. Because gigahertz radio transmissions are line-of-sight, a GPS receiver must have a clear view of the sky and at least four satellites to function. This limits the applications to which this technology can be applied.
Since it is difficult to construct gigahertz resonant systems using inexpensive integrated circuitry, such localization systems must be constructed from discrete components, and powered accordingly. To provide reasonable efficiency, antennas for gigahertz reception must be on the order of at least ten centimeters. These limitations in the miniaturization of sinusoid-based localizers, while within bounds acceptable for military and industrial applications, provide limits as to the applicability of sinusoid-based localization technologies, such as GPS, to many aspects of everyday life.
Overview of the Present Invention
The present invention is directed to a network of nonsinusoidal spread spectrum (NSS) transceivers capable of precisely locating objects in three-dimensional space. In the preferred embodiment these xe2x80x9clocalizersxe2x80x9d are about the size of a coin, can operate without a clear view of the sky, have a low enough power consumption that they can operate for long periods of time powered by a small battery, do not require a system of satellites, and are very inexpensive.
Such localizers can be utilized in a myriad of applications, serving as extensions of the senses of people and machines. It is envisioned that these localizers will someday be commonly used in almost every aspect of everyday life. For instance, a localizer could be attached to the clothing of a young child, and if that child were to enter an area that presented a danger to her an alarm could sound to alert her or her guardians. Such localizers might also be used to help members of a group, such as a family, locate each other in a crowd or a large building complex. Such localizers might also be placed on each item in a store, so that the items could be easily located and an inventory of the store items could be tallied electronically.
The method of the present invention is to be contrasted with radar distancing where there is lower distance resolution since radar pulses must be relatively long to modulate a sinusoidal carrier Furthermore, radar distancing requires high-power transmissions since the detected signals are reflected from the target rather than broadcast by the target.
The limitations of sinusoidal-carrier transmissions are circumvented in the present invention by a radio communication system where sequences of electromagnetic impulses are not modulated by a sinusoidal carrier. (In this specification an xe2x80x9cimpulsexe2x80x9d will refer to an electromagnetic signal, or the electric signal in a circuit generating the electromagnetic signal or otherwise directly corresponding thereto, which is a Gaussian or short rectangular signal and does not modulate another signal. In contrast, a xe2x80x9cpulsexe2x80x9d will refer to an electromagnetic signal, or the electric signal in a circuit generating the electromagnetic signal or otherwise directly corresponding thereto, which has a sinusoidal carrier modulated by a short signal such as a Gaussian. Also, a xe2x80x9cpulsexe2x80x9d will refer to short signals in a circuit which do not directly correspond to or generate electromagnetic signals, such as xe2x80x9cclock pulses.xe2x80x9d) These nonsinusoidal spread spectrum (NSS) transmissions a(t) are of the form
a(t)="psgr"(t)*d(t), 
where, as before,
"psgr"(t)="PHgr"(t mod ts) 
t is time, d(t) is the data function with values of positive and negative unity, "PHgr"(t) is a pseudorandom sequence of impulses of length ts and is nonzero over the range 0xe2x89xa6txe2x89xa6ts, and "psgr"(t) is a string of M repeated pseudorandom sequences "PHgr"(t) and is nonzero over the range 0xe2x89xa6txe2x89xa6M*ts. One or more bits of data from d(t) is encoded on each repetition of the pseudorandom sequence "PHgr"(t). The transmitted spectrum has a width on the order of the width of the spectrum of an impulse. NSS radio technology can generate bandwidths 10-100 times as great as those for sinusoidal-carrier technologies mentioned above. By controlling the spacing between impulses, maxima in the energy of the transmitted signals can be placed at strategic locations, such as between commercial radio and television bands.
Reception of such NSS transmissions is accomplished by circuitry which calculates the correlation between the received signal and the expected pseudorandom sequence "PHgr"(t). To receive a transmission, the transmitted pseudorandom sequence must be known by the receiver. Useful pseudorandom sequences must have low cross-correlations and sharp peaks in their autocorrelation function. With low cross-correlations the communications between one pair of localizers using one pseudorandom sequence will not interfere with the communications of other localizers in the vicinity using other pseudorandom sequences. A sharply peaked autocorrelation function is required to determine the arrival time of an impulse sequence. The fine detail of the autocorrelation function is used to improve the accuracy of the arrival time determination.
To generate the sequences of impulses that are transmitted, and to process the sequences of impulses that are received, the circuitry of the localizers must switch currents on and off at a rate comparable to the rate of transmitted impulses in the pseudorandom sequences. However, the operation of normal digital logic generates noise which is electrically coupled back into the receiving circuitry, so it may mask the reception of communications. Also, since a change in current generates an electromagnetic field, the circuitry generates NSS noise which contributes to the noise, masking communications transmissions. Therefore, during reception the localizers of the present invention use only low-noise circuitry to raise the signal-to-noise ratio. The low-noise circuitry has a higher power consumption than normal CMOS circuitry, since it uses current-steering logic rather than current-switching logic, and is therefore operated only when necessary. During transmission the localizers of the present invention use circuitry having parallel routing of differential signals to reduce the susceptibility of the logic to noise, and balance the current flow between sections of the circuit. In the preferred embodiment, portions of the circuitry which are used for both transmission and reception utilize both current-steering logic and parallel routing of differential signals.
Relative distances between localizers are determined by measuring the propagation time of pulse sequences between localizers. Knowing the distance between a first localizer and a second localizer, then the relative position of the first localizer is known to be on a sphere with a radius equal to the known distance centered around the second Vocalizer. Similarly, knowing the distances from a first localizer to a second localizer and a third localizer, and the distance between the second and third localizers, then the relative position of the first localizer is known to be on a circle. Knowing the distances from a first localizer to a second localizer, a third localizer, and a fourth localizer, and the distances between the second, third, and fourth localizers, then the relative position of the first localizer is known to within one of two points, a reflection about the plane defined by the second, third and fourth localizers. Therefore, to actually determine the relative position of a localizer more information is needed: the distance of that localizer to four other localizers and the relative positions of those four localizers must be known. Therefore, the relative positions of a large network of localizers may be determined by repeatedly determining the distances from a localizer with an unknown relative position to four localizers with known relative positions.
However, it should be noted that there are combinations of locations that make the determination of the three-dimensional locations impossible. For example, when all the localizers of known relative positions are on a plane then the position of another localizer can only be determined to within two points, a reflection about the plane in which the other localizers are located. In addition, some reference points are necessary to determine absolute locations since the distancing communications only provide relative locations. In a survey application, for example, reference localizers would be arranged on known control points so absolute positions could be determined. Another option is to place localizers on both ends of rods that hang free in gravity, thereby providing orientation information.
To determine distances to an accuracy of 1 cm it is required that the clocks in the localizers are accurate to 30 picoseconds over times on the order of the time for propagation of radio waves between localizers. A typical separation distance is 300 meters, so a typical propagation time is 1 microsecond. The clock rates must also be stable to times on the order of tens of picoseconds over the length of a pulse sequence, which is on the order of 10 microseconds. This represents a required stability of one part in one million. Pairs of localizers of the preferred embodiment prearrange when their next communication will occur, and listen for the communication during a time window of approximately 100 nanoseconds centered around the prearranged time. Times between localizer communications can be on the order of one tenth of a second, and so the clocks must also be stable to about 100 nanoseconds over periods on the order of one tenth of a second, representing a required stability of one part in one million to maintain synchronization.
Inexpensive quartz oscillators are normally not considered accurate enough for this task due to the difference between their actual frequency and their nominal frequency But their stability (i.e., the rate at which the frequency may wander with time) is sufficient for use with the localizers of the present invention. Because localizers have on-board processors, each processor can monitor the clocks of other localizers and calculate the ratios of their clock rates to its own. This allows each localizer of the present invention to correct for differences between its clock rate and those of the localizers it is communicating with. Therefore, the localizers of the present invention can provide a highly accurate clock timebase from a network of inexpensive, inaccurate oscillators.
Ranging protocols which determine the relative clock rates as well as the distances between localizers may be implemented. If a network of communicating localizers includes at least one localizer having a very precise timebase, the other localizers can determine the deviations of their timebases from the precise timebase using such protocols. Similarly, a known accurate distance between two localizers can be used to provide an accurate timebase, and other localizers can determine the deviations of their timebases from the precise timebase using ranging protocols. It is advantageous in terms of size, cost and power to use protocols which determine relative clock rates to provide a network with a highly accurate timebase, rather than providing each localizer with a timebase of comparable accuracy.
A transmission from a localizer is composed of the following events: (i) a sequence generator is programmed to produce a code sequence; (ii) the power to the antenna is adjusted to compensate for the expected distance the signal must travel; (iii) a set of event registers is armed to trigger the transmission circuitry at a pre-arranged time; and (iv) when the transmission event is triggered the transmitter uses the code sequence to generate a series of positive and negative currents through the antenna to transmit a non-sinusoidal sinusoidal spread spectrum (NSS) radio signal composed of doublets of Gaussian impulses. Each doublet consists of an impulse of a first polarity and an impulse of a second polarity opposite the first. During a time period surrounding and including the transmission, the CPU and any other non-essential circuitry is shut down to prevent the transmissions from interfering with the functioning of the circuitry.
The reception of a code sequence consists of a similar sequence of operations, namely: (i) a sequence generator is programmed to produce an internally-generated integration sequence which resembles the expected code sequence of the received signal; (ii) the receiver antenna and integrator amplifiers are adjusted to compensate for the distance the received signal is expected to have traveled and the length of the code sequence; (iii) a set of event registers is armed to trigger reception processing circuitry at a pre-arranged time; (iv) the CPU and other nonessential circuitry is turned off during a time period surrounding and including the reception time to decrease noise; (v) during the reception event the received signal is multiplied by integration sequences delayed by thirty-two (in the preferred embodiment) different time offsets; (vi) during the reception event the products of the received signal and the delayed integation sequences are integrated and the outputs are stored in thirty-two analog bins; and (vii) after the reception event the CPU, which has been reactivated, converts these thirty-two analog bins to digital values and analyzes these values to calculate the precise arrival time of the communication.
Overview of the Pseudo-autocorrelation Function
According to the present invention the time when an impulse sequence is received is determined from the location of the peak and other features of the correlation between the received antenna signal a(t) and a set of delayed internally-generated integration sequences "psgr"i(t). (For simplicity of notation the following discussion will assume that only one bit of information is transmitted via a single pseudorandom sequence, i.e., "psgr"(t)="PHgr"(t).) It will be assumed that the received antenna signal has been encoded on an externally-generated pseudorandom sequence "PHgr"e(t) at a remote transmitter. The externally-generated pseudorandom sequence "PHgr"e(t) consists of a series of externally-generated chip waveforms xcex3e(t), i.e.,
a(t)="PHgr"e(t)="sgr"e[t/xcex4t]*xcex3e(t mod xcex4t). 
Similarly, the internally-generated pseudorandom sequence "PHgr"i(t) consists of a series of internally-generated chip waveforms xcex3i(t), i.e.,
"PHgr"i(t)="sgr"i[t/xcex4t]*xcex3i(t mod xcex4t), 
where xcex3i(t) resembles, but is not equal to, xcex3e(t). The correlation function A between the received signal "PHgr"e(t) and the internally-generated xe2x80x9cintegrationxe2x80x9d sequence "PHgr"i(t) is
xcex9(t)=∫"PHgr"i(xcfx84xe2x88x92t)*"PHgr"e(xcfx84)dxcfx84, 
or
xcex9(t)=∫"sgr"i[(xcfx84xe2x88x92t)/xcex4t]*"sgr"e[xcfx84/xcex4t]*xcex3i((xcfx84xe2x88x92t) mod xcex4t)*xcex3e(xcfx84 mod xcex4t)dxcfx84. 
The correlation function xcex9(t) is termed the pseudo-autocorrelation function, since for the special case "sgr"i="sgr"e and xcex3i=xcex3e the function is the autocorrelation function. The family of pseudorandom code sequences "sgr"(i) is chosen such that the values of xcex9(t) are small if "sgr"i(i) is not equal to "sgr"e(i). If the internally- and externally-generated code sequences "sgr"i(i) and "sgr"e(i) are the same (i.e., "sgr"i="sgr"e="sgr"), then
xcex9(t)=∫"sgr"[xcfx84/xcex4t]*"sgr"[(xcfx84xe2x88x92t)/xcex4t]*xcex3i((xcfx84xe2x88x92t) mod xcex4t)*xcex3e(xcfx84 mod xcex4t)dxcfx84, 
and the substitution xcfx84xe2x86x92xcfx84+t shows that the pseudo-autocorrelation function is symmetric about t=0. For t=0 and "sgr"i="sgr"e"sgr",                               Λ          ⁡                      (            0            )                          =                  ∫                                                    γ                i                            ⁡                              (                                  τ                  ⁢                                      xe2x80x83                                    ⁢                  mod                  ⁢                                      xe2x80x83                                    ⁢                  δ                  ⁢                                      xe2x80x83                                    ⁢                  t                                )                                      *                                          γ                e                            ⁡                              (                                  τ                  ⁢                                      xe2x80x83                                    ⁢                  mod                  ⁢                                      xe2x80x83                                    ⁢                  δ                  ⁢                                      xe2x80x83                                    ⁢                  t                                )                                      ⁢                          ⅆ              τ                                                              =                  L          ⁢                                    ∫              0                              δ                ⁢                                  xe2x80x83                                ⁢                t                                      ⁢                                                            γ                  i                                ⁡                                  (                  τ                  )                                            *                                                γ                  e                                ⁡                                  (                  τ                  )                                            ⁢                              xe2x80x83                            ⁢                              ⅆ                τ                                                        
since ("sgr"(i))2=1 for all values of i, where L is the number of chips in the pseudorandom sequence. Thus xcex3i(t) must resemble xcex3e(t) to an extent sufficient to make the integral relatively large, i.e.,             [              ∫                                            γ              i                        ⁢                          (              τ              )                                *                                    γ              e                        ⁢                          (              τ              )                                ⁢                      ⅆ            τ                              ]        2              [              ∫                                            {                                                γ                  i                                ⁢                                  (                  τ                  )                                            }                        2                    ⁢                      ⅆ            τ                              ]        *          [              ∫                                            {                                                γ                  e                                ⁢                                  (                  τ                  )                                            }                        2                    ⁢                      ⅆ            τ                              ]      
must be on the order of unity, if the pseudo-autocorrelation xcex9(t) is to have a strong peak.
Values of the pseudo-autocorrelation at a number of discrete times is determined by a time-integrating correlator circuit. Although the correlator output resembles a time sampling of the pseudo-autocorrelation xcex9(t), it should be noted that the pseudo-autocorrelation as a function of tire is never actually determined by the circuit, and therefore it cannot be sampled. The values of pseudo-autocorrelation function at a number of discrete times will be termed the discrete-time pseudo-autocorrelation function, or DTPAC function, and notated as xcex9(n), where the argument n takes on integer values. The times at which values of the DTPAC function are determined are referred to as the xe2x80x9ctime bins.xe2x80x9d
Overview of the Doublet Chip Functions
Whereas other radio systems using impulses radiate sequences of single electromagnetic impulses with a minimum of radiation between impulses, the present invention is directed to radio transmissions comprised of sequences of pairs of impulses, termed xe2x80x9cdoublets.xe2x80x9d As will be discussed below, switching on a current through the antenna produces a first electromagnetic impulse having an electric field vector in a first direction, and switching off the current produces a second electromagnetic impulse having an electric field vector in a second, opposite direction. As discussed above, the received signal "PHgr"e(t) and the internally-generated integration sequence "PHgr"i(t) are of the form
"sgr"[t/xcex4t]*xcex3(t mod xcex4t). 
In the preferred embodiments of the present invention the doublet chip waveform xcex3(t) has a first section with a first polarity and a second section with a second polarity opposite the first polarity. As before, "sgr"(i) is a pseudorandom code sequence of the values plus and minus one, i takes on integer values, xcex4t is the length of the chips, and the square brackets indicates the greatest integer less than or equal to the value of the argument within the brackets.
Applying this doublet chip waveform to the transmitted signal and the impulse sequence provides the advantage that the central positive peak of the pseudo-autocorrelation function is bracketed by two negative peaks, as well as additional positive and negative peaks in the wings of the function. As will be discussed in the Detailed Description of the Preferred Embodiments, the positive and negative peaks of the pseudo-autocorrelation function make the shape of the discrete-time pseudo-autocorrelation (DTPAC) function particularly sensitive to small time displacements between the received signal "PHgr"e(t) and the integration sequence "PHgr"i(t) when the time between bins xcex94t is on the order of half of the chip length. In the preferred embodiment an expert system algorithm, such as a set of neural networks, is used to recognize changes in the shape of the DTPAC function to determine the temporal relationship between the antenna signal "PHgr"e(t) and the integration sequence "PHgr"i(t) to a time less than the separation between time bins.
Different placements of time bins and different internally-generated chip doublet functions xcex3i(t) provide different advantages. A general form for the doublet waveform xcex3i(t) is
xcex3i(t)=+k 0 less than t less than h*xcex4t 
xcex3i(t)=xe2x88x92k xcex4t/2 less than t less than xcex4t/2+h*xcex4t 
xcex3i(t)=0 otherwise, 
where h is a width factor, and k is a constant. When the doublet waveform xcex3i(t) is normalized, the constant k will be set to one. A general expression for the delay between integration sequences is given by (xcex4t/2xe2x88x92g*xcex4t), where g is a shift factor.
In a first preferred embodiment depicted in FIG. 14a, the separation xcex94t between time bins is (xcex4t/4), and the doublet waveform xcex3i(t) is
xcex3i(t)=+1 0 less than t less than xcex4t/2 
xcex3i(t)=xe2x88x921 xcex4t/2 less than t less than xcex4t 
xcex3i(t)=0 otherwise, 
(i.e., h=xc2xd and g=xc2xc). Once the integration sequence "PHgr"i(t) and the received signal "PHgr"e(t) are substantially aligned, this system is useful in determining the exact arrival time of the antenna signal since the shape of the pseudo-autocorrelation function changes substantially for small time shifts between the integration sequence "PHgr"i(t) and the received signal "PHgr"e(t).
In a second preferred embodiment depicted in FIG. 14b, the separation xcex94t between time bins is (xcex4t/4) and the doublet waveform xcex3i(t) is
xcex3i(t)=+1 0 less than t less than xcex4t/4 
xcex3i(t)=xe2x88x921 xcex4t/2 less than t less than 3xcex4t/4 
xcex3i(t)=0 otherwise, 
(i.e., h=xc2xc and g=xc2xc). This system provides a higher signal-to-noise ratio than the first preferred embodiment since for the peak time bin the integrations are only performed when the received signal "PHgr"e(t) is relatively large. This second embodiment is useful for the communication of data once a good time alignment has been achieved between localizers. In a generalization of this second preferred embodiment the doublet waveform xcex3i(t) is
xcex3i(t)=+1 0 less than t less than h*xcex4t 
xcex3i(t)=xe2x88x921 xcex4t/2 less than t less than xcex4t/2+h*xcex4t 
xcex3i(t)=0 otherwise, 
where small values of h produce narrow nonzero regions of the doublet waveform xcex3i(t). The optimum value of h produces peaks of the doublet waveform xcex3i(t) of approximately the same width as the peaks of the received doublet waveforms xcex3e(t).
In a third preferred embodiment depicted in FIG. 14c, the separation xcex94t between time bins is (xcex4t/2), and the doublet waveform xcex3(t) is
xcex3i(t)=+1 0 less than t less than xcex4t/2 
xcex3i(t)=xe2x88x921 xcex4t/2 less than t less than xcex4t 
xcex3i(t)=0 otherwise, 
(i.e., h=xc2xd and g=0). This system is useful for scanning for a signal when the time of arrival is uncertain because the reception window is twice as long as either of the two previous techniques. In a generalization of the third preferred embodiment, the shift factor g is a small value to insure that sharp peaks in the received signal are detected. There is a finite time required for the doublet waveform xcex3i(t) to change values between positive and negative unity and if an impulse in the received signal occurs during a zero crossing of the doublet waveform it may not be detected.
Overview of the Ranging Communications
The distance between two localizers, localizer A and localizer B, is determined by measuring signal propagation times in cooperative ranging transactions. Unless otherwise stated, it will be assumed in the following discussions that localizers A and B have an approximate knowledge of their separation and relative clock rates.
In a first ranging protocol shown in FIG. 2, localizer A sends a first ranging communication to localizer B at a prearranged time. Localizer B listens for the first communication during a time window centered around the time the first communication is expected to arrive. After the time window is over, localizer B processes the reception data to determine the actual tire of arrival of the first communication. The processing time at localizer B is on the order of a millisecond. A prearranged delay time after the actual arrival time of the first communication, the delay time being greater than the processing time, localizer B sends a second communication back to localizer A. Localizer A listens for the second communication during a reception time window centered around an estimate of when the second communication should be received. After the reception time window is over, localizer A processes the reception data to determine the arrival time of the second communication. Knowing the time at which the first communication was sent, the time at which the second communication was received, and the agreed upon delay between when localizer B received the first communication and sent the second communication, and having an estimate of the relative clock rate of localizer B, localizer A can calculate the distance between the localizers. A disadvantage of this method is that the actual time for the propagation of the electromagnetic radio communications between the localizers is small compared to the delay time at localizer B and the time difference between transmission and reception at localizer A. The delay time is on the order of a millisecond and the signal propagation time is on the order of 100 nanoseconds. In this protocol large times must be subtracted to determine a small time, so the calculation is sensitive to inaccuracies in the clocks of localizers A and B.
In a modification of the above method, which increases the accuracy of the estimate of the distance but still suffers from the sensitivity to inaccuracies of the clocks, the localizers perform a second series of ranging communications a prearranged time after the first series of ranging communications. In the second series of ranging communications the center times of the reception windows are adjusted according to the offsets of the reception times from the centers of the reception windows in the first series of communications, so that the transmissions in the second series of communications arrive closer to the center of the reception windows. When the localizers can position the peak in the center of a bin near the center of the reception, this indicates the localizers have achieved the goal of accurately determining the separation distance. Since, as discussed below, features of the DTPAC function A(n), including the central peak and the peaks in the xe2x80x9cwingsxe2x80x9d of the function, provide information about the time of arrival of a communication, positioning the time of arrival of a communication in the center of a bin near the center of the reception windows increases the accuracy of the estimate of the time of arrival.
To circumvent this disadvantage of the first ranging protocol (and its modification discussed above), a second ranging protocol, shown in FIG. 4, uses a much shorter delay at localizer B. In the second ranging protocol localizer A sends a first ranging communication to localizer B at a prearranged time. Localizer B listens for the first communication during a time window centered around the time the first communication is expected to arrive. After the time window is over, but before processing the reception data to determine when the first communication arrived at localizer B, localizer B sends a second communication back to localizer A a prearranged delay time after the center of localizer B""s reception time window. Localizer A listens for the second communication during a reception time window centered around an estimate of when the second communication should be received. Only after the transmission of the second communication does localizer B process the reception data to determine the actual time of arrival of the first communication. After the reception time window of localizer A is over, localizer A processes the reception data to determine the arrival time of the second communication. After localizer B determines the actual reception time of the first communication, localizer B sends a series of correction bits to localizer A. The correction bits communicate the time difference between the actual reception time of the first communication at localizer B and the center of localizer B""s reception time window. Knowing the time at which the first communication was sent, the time at which the second communication was received, the agreed upon time delay between the center of localizer B""s reception time window and transmission time window, and the correction time between the center of the reception time window and when the first communication was received at localizer B, and having an estimate of the relative clock rate of localizer B, localizer A can calculate the distance between the localizers. Because localizer B sends a signal back to localizer A before processing to determine the actual arrival time of the first communication, the delay time can be much shorter than that of the first protocol, and the accuracy of the calculation is much less sensitive than the first protocol to the inaccuracies of the clock rates of the localizers.
In a modification of the above method, which further increases the accuracy of the estimate of the distance, the localizers perform a second series of ranging communications at a prearranged time difference from the first series of ranging communications. In the second series of ranging communications the transmission time at localizer A and the second reception window time at localizer A are adjusted according to the offsets of the reception times from the centers of the reception windows in the first series of communications, so that the transmissions in the second series of communications arrive closer to the center of the reception windows. When the localizers can position the peak in the center of a bin near the center of the reception, this indicates the localizers have achieved the goal of accurately determining the separation distance. Since, as discussed below, features of the DTPAC function xcex9(n), including the central peak and the peaks in the xe2x80x9cwingsxe2x80x9d of the function, provide information about the time of arrival of a communication, positioning the time of arrival of a communication in the center of a bin near the center of the reception windows increases the accuracy of the estimate of the time of arrival.
A third possible ranging protocol shown in FIG. 7a uses a similar approach to the second protocol, but involves a second round-trip communication from localizer B to localizer A and back to localizer B, before localizer B sends a series of correction bits to localizer A. In particular, in the third ranging protocol, localizer A sends a first ranging communication to localizer B at a prearranged time. Localizer B listens for the first communication during a time window centered around the time the first communication is expected to arrive. After the time window is over, but before processing the reception data to determine when the first communication arrived at localizer B, localizer B sends a second communication back to localizer A a prearranged delay time after the center of localizer B""s reception time window. Localizer A listens for the second communication during a reception time window centered around an estimate of when the second communication should be received. After the transmission of the second communication, localizer B processes the reception data to determine the actual time of arrival of the first communication. After the reception time window at localizer A, localizer A processes the reception data to determine the arrival time of the second communication. Then, the roles of localizers A and B in first round of communications are reversed for a second round of communications. Localizer B sends a third ranging communication to localizer A at a prearranged time. Localizer A listens for the third communication during a time window centered around the time the third communication is expected to arrive. After the reception time window is over, but before processing the reception data to determine when the third communication arrived at localizer A, localizer A sends a fourth communication back to localizer B a prearranged delay time after the center of localizer A""s reception time window. Localizer B listens for the fourth communication during a reception time window centered around an estimate of when the fourth communication should be received. After the transmission of the fourth communication, localizer A processes the reception data to determine the actual time of arrival of the third communication. After the reception time window at localizer B, localizer B processes the reception data to determine the arrival time of the fourth communication. After localizer B determines the actual reception time of the fourth communication, localizer B sends a series of correction bits to Vocalizer A. The correction bits communicate the time difference between the actual reception time of the first communication at localizer B and the center of localizer B""s first reception time window, and the time between the transmission of the third communication and the reception of the fourth communication at localizer B. Knowing the round trip times for the first pair of communications and the second pair of communications, and the prearranged delay times at localizers B and A respectively, localizer A can calculate both the distance between the localizers, and the ratio of the clock rates of the localizers. Because the localizers send signals back to each other in the first pair of communications and the second pair of the communications before processing to determine the actual arrival time of the communications, the delay times are much shorter than in the first method, and the accuracy of the calculation is much less sensitive to the accuracies of the clock rates of the localizers. After localizer B sends the correction bits to localizer A, localizer A may send its results for the separation distance and the ratio of the clock rates explicitly to localizer B. Alternatively, localizer A could send a set of correction bits to localizer B representing the round trip time for the first pair of communications, and the time difference between the center of the reception window and the time of arrival of the third communication at localizer A, so that localizer B may also calculate the separation distance and the ratio of the clock rates. In another alternative of this method the second and third communications from localizer B could be replaced with a single communication, i.e., the time between the second and third communications is effectively reduced to zero. Localizer B would then have to determine the arrival time of the first communication after receiving both the first and third communications from localizer A.
These ranging methods may also be adapted to an iterative procedure where, rather than sending the actual values of time delays between localizers, a localizer only communicates one bit of data per round of communications. This one bit of data could represent the side of a reception window in which a previous communication arrived. For instance, localizer A could send a first communication to localizer B, and localizer B would respond with a second communication back to localizer A after a prearranged time delay which is much shorter than the time it takes for localizer B to determine the actual arrival time of the communication from localizer A. After localizer B responds to localizer A, it would then determine the actual arrival time of the first communication from localizer A. Localizer A would then send a third communication to localizer B after a prearranged wait, and localizer B would again respond with a fourth communication to localizer A after the prearranged time delay. If the first communication arrived in the earlier half of localizer B""s reception window, localizer B""s fourth communication would have a first polarity, and if the first communication arrived in the later half of the reception window, the fourth communication would have a second polarity. (xe2x80x9cPolarizationxe2x80x9d refers to the plane of the electric field in a plane-polarized electromagnetic transmission, and xe2x80x9cpolarityxe2x80x9d refers to the direction of the electric field in the plane of polarization. In other words, the polarization may be controlled by the orientation of the antenna, and the polarity may be controlled by the direction of current through the antenna.) Localizer A would then modify the transmission time of its next communication (the fifth communication) based on the information conveyed from localizer B in the fourth communication by a first amount so that its communication would arrive nearer the center of localizer B""s reception window than previously. Localizer A would also modify the central time of its reception window so that the next communication from localizer B (the sixth communication) would arrive nearer the center of localizer A""s reception window. Similarly, localizer B""s next communication (the sixth communication) would reflect the arrival time of the third communication (from localizer A), and localizer A would modify the transmission and reception times of the next pair of communications (the seventh and eighth communications) based on this information by a second amount which is half as large as the first amount. The size of the time corrections made by localizer A decrease by a factor of two in each pair of the communications, and the arrival times of the communications converge rapidly on the centers of the reception windows. Knowing the prearranged delay time at localizer B and the time between a transmission and a reception at localizer A, localizer A may then determine the separation between the localizers.
It may also be desirable to provide protocols where a localizer can determine the locations of other localizers while not divulging its own location. A first localizer may hide its location by offsetting its communications with other localizers with time delays of random sign and magnitude. In this case, it will be apparent to the other localizers that the first localizer is not divulging its location. Alternatively, the first localizer may offset its communications in a controlled manner so that other localizers would determine an incorrect location for the first localizer. For instance in a modification of the third ranging protocol of FIG. 7a, localizer A sends a first communication to localizer B, and after a prearranged delay time localizer B sends a second communication back to localizer A. Then localizer B determines the exact arrival time of the communication from localizer A. Next, after a prearranged waiting time, localizer B sends a third communication to localizer A. Although localizers A and B have agreed on a delay time between receiving and sending communications, localizer A does not hold to this arrangement. Instead, localizer A purposefully modifies the delay time before sending its response (the fourth communication) so that localizer B receives a false impression of the separation distance. Similar modifications of the first ranging protocol of FIG. 2 or the second ranging protocol of FIG. 4 may also be implemented to preserve the location privacy of a localizer.
All of the protocols above require that at least one of the localizers has a first approximation of the distance. Once a distance estimate has been obtained, localizers can use any of the ranging methods described above to update their estimates of the distance and the ratios of the clock rates. To obtain an initial estimate of the separation distance and the ratio of clock rates, the localizers may start out in electrical contact.
In an alternate synchronization protocol not requiring electrical contact, localizer B attempts to initiate contact with other localizers by transmitting a beacon signal on a regular periodic basis. To find this beacon, localizer A must do an exhaustive search of the time period until the beacon is detected. This search could be on the order of 5 to 10 seconds. When localizer A finds the beacon, it begins broadcasting a reply. Localizer B could in turn do an exhaustive search looking for a response from localizer A, doubling the length of time necessary to get into synchronization.
The time for localizer B to do the search could be drastically reduced if localizer A broadcasts the reply at a known time delay after receiving each beacon. Localizer B would only have to search a small time period after the beacon for the reply. This allows localizer B to rapidly find nearby localizers, and to simultaneously acquire an approximate distance to them. Alternately, localizer B could continuously attempt to receive a communication from localizer A at a small fixed time delay before each beacon. Then localizer A would have to do the fast search backwards from the beacon to find the approximate distance to localizer B. In this case localizer A would acquire an approximate distance. In either case, the localizers indicate the beginning of communication by modifying the beacon or reply communication. Once in synchronization, the localizers can begin to exchange digital messages, requests, and start doing ranging protocols as described above.
Overview of the Hardware
Since electromagnetic radiation travels 1 cm in only about 33 picoseconds, a clock with a period of about 33 picoseconds, i.e., a 30 GHz clock, is required to measure distances as small as 1 cm by measuring the time of propagation of radio waves by counting clock pulses. If this clock was also required to measure times on the order of one day, 2.6*1015 of these 30 GHz pulses would have to be counted, requiring a 52-bit counter.
Unfortunately, CMOS logic cannot operate in the tens of gigahertz, though a clock as high as 200 MHz is practicable. (A 200 MHz clock has a period of 5 nanoseconds and can resolve distances down to 1.5 meters.) Therefore, in a first embodiment 2410 shown in FIG. 24a, pulses from a 200 MHz clock 2412 are placed to a resolution of 30 picoseconds by delaying the clock pulses through a programmable delay generator 2050 in stage xe2x80x9cS0xe2x80x9d of the clock. The delay generator 2050 must select between one of about 150 different delay times, requiring eight bits of binary storage. The remaining 48 bits required for the counter of the clock 2410 are located in a stage S1 counter 2414. This clock 2410 has the drawback that all 48 bits of the stage S1 counter 2414 must use low-noise circuitry so the S1 counter 2414 can run without producing power line noise and electromagnetic noise during reception and transmission events.
In actuality, the 200 MHz clock 2412 is problematic since it has a high power consumption and produces significant power line noise. So in a second embodiment 2420 shown in FIG. 24b a stage S1 phase-lock loop (PLL) circuit 2010/2020/2030 is used to increase the speed of a readily available crystal oscillator 130 with a frequency of an approximately 6.25 MHz clock to the 200 MHz required. The PLL circuit 2010/2020/2030 has a 5-bit counter to divide the 200 MHz pulses down to phase lock to the 6.25 MHz clock pulses. The output from the 6.25 MHz clock oscillator 130 is also are counted by a 43-bit stage S2 counter 2422. Since the 6.25 MHz crystal oscillator 130 produces many clock pulses during a reception event, the S2 counter 2422 must use low-noise circuitry.
Since the most-significant bits of the S2 counter 2422 do not change very often, a portion of the S2 counter 2422 can be separated into stage S3 counter 2434 implemented in software in a processor 140, as shown in the third embodiment 2430 depicted in FIG. 24c. This allows the total number bits in the clock 2420 to be arbitrarily large so that periods longer than a day can be counted. The number of bits remaining in the stage S2 counter 2432 should be large enough that the processor 140 does not get interrupts more frequently than it can handle, or during transmission or reception events when only low-noise circuitry can operate. In a preferred embodiment the processor 140 receives an interrupt every 100 microseconds, so the S2 stage 2432 has a 14-bit counter, and the counter in the processor 140 handles the remaining 29 bits. In the preferred embodiment even more bits are implemented in the software counter in the processor 140, since this is not difficult and allows the processor 140 to schedule events in human time scales such as days and months.
In a fourth embodiment 2440 depicted in FIG. 24d, the stage S2 counter 2432 of FIG. 24c becomes a counter 2442 having two stages, CMOS stage S3 and low-noise stage S2. As before, the crystal oscillator 130 provides a clock with a frequency of approximately 6.25 MHz, the stage S1 PLL circuit 2010/2020/2030 produces a clock signal of approximately 200 MHz from the 6.25 MHz signal, and the programmable delay unit 2050 provides delays with a placement of 30 picoseconds. The S3 portion of the counter 2442 counts bits that change infrequently during a single reception or transmission event, and therefore can be implemented in standard CMOS logic. The S2 stage of the counter 2442, as well as the S1 and S0 stages, count bits which change value during transmission and reception events, and must be implemented in low-noise logic to prevent the production of power supply noise and electromagnetic noise. In the preferred embodiment the chip length is approximately 10 nanoseconds and the number of chips in a code sequence is around 1024, so the time for one reception event is about 10 microseconds. This requires that the S2 stage has a 6-bit counter, and the S3 stage has an 8-bit counter. To allow for longer codes, the S2 and S3 stages could both have 8-bit counters.
In a fifth embodiment shown as a block diagram in FIG. 24e, the S2 stage uses both low-noise circuitry in a low-noise S2B stage and standard logic in a CMOS S2A stage. The S2 clock is only required to use the low-noise S2B stage during reception and transmission events, and can use the CMOS S2A stage otherwise to conserve power. As before, the crystal oscillator 130 provides a clock with a frequency of approximately 6.25 MHz, the stage S1 PLL circuit 2010/2020/2030 produces a clock signal of approximately 200 MHz from the 6.25 MHz signal, the programmable delay unit 2050 provides delays with a placement of 30 picoseconds, the processor 140 maintains a count of the most-significant digits of the time, and the low-frequency clock 119 is separated into a CMOS S3 stage and an S2 stage.
In summary, the number of stages in which the clock is divided is a function of the power requirements. For instance, if power consumption is not an issue, the S2 and S3 counters of the low-frequency clock 119 of the preferred embodiment 100 of FIG. 24e could be combined and use low-noise circuitry. If power consumption is to be minimized, the timebase has a counter for the most-significant bits in the processor 140, the low-frequency clock 119 has a CMOS S3 stage for the next most-significant bits and the S2 stage for the next most-significant bits is separated into a low-noise S2B stage which is active during transmission and reception events and a CMOS S2A stage which is active between transmission and reception events. The detailed description below corresponds to the preferred embodiment of FIG. 24e which is designed to minimize power consumption.
The timebase of the transceivers measures time differences used to calculate locations, and acts as an alarm clock to trigger transmissions and listening periods for receptions. As discussed above, the time base of a localizer of the preferred embodiment is divided into five stages of clocks, the stages being numbered from zero to four in order of increasingly large time graduations between clock ticks (a clock tick is the time between rising edges of a clock signal). The fourth, third and second stages are considered to compose the low-frequency clock. The second stage counts clock impulses directly from a crystal oscillator. The first stage counts clock impulses from a phase-lock loop circuit which increases the frequency of the crystal oscillator clock, and the zeroth stage is a programmable delay which provides timing control to an accuracy of 30 picoseconds. The first and zeroth stages are considered to compose the high-frequency clock. Between transmissions when low power consumption is required, only the fourth stage, the third stage and a low-power-consumption portion of the second stage are active. During transmissions when highly accurate time keeping and low-noise emissions are required, the zeroth stage, first stage, and a low-noise portion of the second stage are active. The timebase is designed to insure that in the switching between the low-frequency clock and the high-frequency clock no clock impulses are lost and there is no phase error.
The first, third and fourth stages each have a single counter, while the second stage has two counters: a low-noise counter which operates during transmission and reception, and a low-power standard-circuitry counter which operates between localizer communications. The system is designed so that any transmission or reception impulse sequence is shorter than the time required for the second-stage counters to count from zero to a terminal count. At the terminal count of the second-stage standard-circuitry counter immediately prior to a transmission or reception time window, the second-stage low-noise counter will be activated and the second-stage standard-circuitry counter will be inactivated. The second-stage low-noise counter continues counting until it reaches its terminal count, and at that point there is a check as to whether the transmission or reception time window is over. If the system is still receiving or transmitting, the second-stage low-noise counter will count again to its terminal count, at which point the transmission or reception will be complete and the second-stage standard-circuitry counter will be activated and the second-stage low-noise counter will be inactivated.
When the counter of the first stage reaches its terminal count it resets to zero and at approximately the same time the 6.25 MHz clock causes the counter in the second stage to be incremented by one. When either of the counters of the second stage reaches its terminal count it resets to zero and increments the counter of the third stage by one, and when the counter of the third stage reaches its terminal count it resets to zero and increments the counter of the fourth stage by one. In other words, the counter in the first stage holds a set of least-significant (highest-frequency) clock bits, the counter in the fourth stage holds a set of most-significant (lowest-frequency) clock bits, and the counters in the second and third stages hold clock bits of intermediate significance. Therefore, a triggering clock time C is a concatenation of bit segments, i.e., C=(C4, C3, C2, C1, C0) where Cn is the count of the nth stage (n=1, 2, 3 and 4) and C0 is the delay generated by the zeroth stage.
The first, second and third stages each have a transmitter event register, a transmitter event comparator, a receiver event register and a receiver event trigger. (The receiver and transmitter sections of the stages work in exactly the same manner, except where otherwise noted, so the discussion of the receiver section which follows may also be applied to the transmitter section.) To trigger a reception event, bit segments corresponding to the triggering time are loaded in event registers in stages one through three, and a delay is selected for the programmable delay of stage zero. This is referred to as xe2x80x9carmingxe2x80x9d the event registers. When a comparator determines that there is a correspondence between the event register value and the counter value of that stage a xe2x80x9ctriggeringxe2x80x9d of the comparator occurs and it enables the comparator of the next stage (the stage having the next finer time graduations). If a transmission is to occur at a time (C4, C3, C2, C1, C0), event registers in the third, second and first stages are armed with the values C3xe2x88x921, C2xe2x88x921, and C1xe2x88x921, respectively. Arming the event registers with the values C3xe2x88x921, C2xe2x88x921, and C1xe2x88x921, rather than C3, C2, and C1, makes the circuit design less demanding by providing additional time for events associated with triggering to occur. When the counter in the third stage reaches the value C3xe2x88x921, the comparator in the third stage triggers, and enables the comparator in the second stage. At this point the low-noise components of the second stage are activated and the standard-circuitry components of the second stage are deactivated. Similarly, when the second-stage counter reaches the value C2xe2x88x921, the second-stage comparator enables the first-stage comparator, and the low-noise components of the first stage are also activated. When the first-stage comparator determines that the count in the first-stage counter is equal to C1xe2x88x921, on the next increment of the first-stage counter the high-frequency clock impulses from the first stage are sent to the programmable delay where they are delayed by C0. For reception events the high-frequency clock impulses from stage zero are directed to a pseudorandom sequence generator and a time-integrating correlator. For transmission events the high-frequency clock impulses are directed to a transmitter code-sequence generator and a transmitter antenna driver.
The time offsets at which values of the discrete-time pseudo-autocorrelation (DTPAC) function are determined are referred to as the xe2x80x9ctime bins.xe2x80x9d The time bins are located at times (t0+nxcex94t), where t0 is the time of the central time bin, n is an integer (between negative fifteen and positive sixteen in the preferred embodiment), and xcex94t is the time difference between neighboring bins. The correlator circuit has an integrator for each time bin. The internally-generated integration sequence "PHgr"i(t) may be produced by a linear feedback shift register (and associated circuitry) and delayed by shifting it through a series of flip-flops. (It should be noted that the delay of the analog antenna signal rather than the digital impulse sequence signal would require using an analog delay means such as a surface acoustic wave delay, or lengths of coaxial cable or optical fiber, and would therefore not be compatible with the above-mentioned size and technology requirements of the transceivers.) The flip-flops provide taps for the integrators, and each of the integrators calculates the integral of the product of a delayed integration sequence "PHgr"i(txe2x88x92t0xe2x88x92nxcex94t) and the received signal "PHgr"e(t) so that the value at the nth bin is       Λ    ⁢          (      n      )        =      ∫                  σ        ⁡                  [                                                    (                                  τ                  -                  t                  -                                      t                    0                                    -                                      n                    ⁢                                          xe2x80x83                                        ⁢                    Δ                    ⁢                                          xe2x80x83                                        ⁢                    t                                                  )                            /              δ                        ⁢                          xe2x80x83                        ⁢            t                    ]                    *              σ        ⁡                  [                                    τ              /              δ                        ⁢                          xe2x80x83                        ⁢            t                    ]                    *                        γ          i                ⁢                  (                                    (                              τ                -                t                -                                  t                  0                                -                                  n                  ⁢                                      xe2x80x83                                    ⁢                  Δ                  ⁢                                      xe2x80x83                                    ⁢                  t                                            )                        ⁢                          xe2x80x83                        ⁢            mod            ⁢                          xe2x80x83                        ⁢            δ            ⁢                          xe2x80x83                        ⁢            t                    )                    *                        γ          e                ⁢                  (                      τ            ⁢                          xe2x80x83                        ⁢            mod            ⁢                          xe2x80x83                        ⁢            δ            ⁢                          xe2x80x83                        ⁢            t                    )                    ⁢                        ⅆ          τ                .            
The time bin which delays the integration sequence "PHgr"i(t) so that it overlaps most closely with the received signal "PHgr"e(t) is termed the xe2x80x9cpeakxe2x80x9d time bin since it produces the maximum value in the DTPAC function xcex9(n).
In each integrator the product of a delayed internally-generated integration sequence "PHgr"i(t) and the received differential voltage signal "PHgr"e(t) from the antenna is produced by directly applying the received voltage to the input of a transconductance amplifier when the value of the integration sequence "PHgr"i(t) is positive unity, and inverting the polarity of the antenna voltage to the input of the transconductance amplifier when the value of the integration sequence "PHgr"i(t) is negative unity. When the delayed integration sequence "PHgr"i(t) has a value of zero (prior to the beginning of the sequence, and subsequent to the end of the sequence) the differential inputs to the transconductance amplifier are shorted. The transconductance amplifier provides a very rapid response time since it takes advantage of the natural mode of field effect transistors, namely the conversion of input voltages to output currents, and does not utilize negative feedback, as do op-amps. However, since the response of the transconductance amplifier is rapid the output impedance of the transconductance amplifier is not large, and the voltage on a capacitor connected across the output of the transconductance amplifier decays (xe2x80x9cdroopsxe2x80x9d) with a characteristic time on the order of milliseconds (which, as mentioned above, is on the order of the time it takes to calculate the arrival time of an impulse sequence). Therefore, the output of the transconductance amplifier is directed to a switched-capacitor sample-and-hold circuit, i.e., the capacitor across the amplifier output is partially discharged across sampling capacitors, the sampling capacitors are disconnected from the output capacitor, and the voltage across the sampling capacitors is then sampled by a differential amplifier which has a large input impedance. The switched-capacitor sample-and-hold circuit provides a droop time on the order of seconds. However, if the droop time is slow relative to the time required for conversion from analog to digital, a sample-and-hold circuit may not be needed.
In the preferred embodiment, impulse sequences are transmitted and received using a loop antenna. As disclosed in U.S. Pat. No. 4,506,267 issued to Henning F. Harmuth, current-mode loop antennas are well suited to NSS transmissions since their operation is not based on an electromagnetic resonance in the antenna. The far field components of the radiated electric and magnetic fields vary as the product of the length of a single unshielded arm of the loop and the time derivative of the current. Therefore, a device which uses a loop antenna can be made very small since the relatively lower power transmitted by a smaller antenna can be compensated for by producing a larger current derivative. In contrast with the disclosures of Harmuth, it has been found that it is not necessary to shield the loop antenna for it to transmit effectively.
An alternate preferred embodiment of the present invention uses a bi-loop antenna consisting of a substantially square radiating plate with a first pair of leads connected across one pair of opposite sides of the plate, and a second pair of leads connected across the other pair of opposite sides of the plate. Currents across the first pair of leads generate electromagnetic waves with a first electric field polarization, and currents across the second pair of leads generate electromagnetic waves with a second electric field polarization orthogonal to the first. Using the bi-loop antenna, transmissions along both axes can be produced, and the amount of information communicated between localizers can be increased. Another advantage of the bi-loop antenna is that the angular orientation of the plate about its normal vector is irrelevant, the plate need only face the incoming radiation to provide reception when the polarization of the incoming radiation is unknown.
With single-loop transmission and reception antennas there are orientations where the polarization of a transmitted signal is orthogonal to the reception antenna and the signal cannot be detected. However, it should be noted that if both the transmission and reception antennas are bi-loop antennas, it is always possible to communicate between the antennas regardless of their relative position and orientation.
Driving the antenna are a plurality of H-bridge switches, each H-bridge switch being connected to a cascade of pairs of staged-gain CMOS buffers. The cascade allows a large switching current to be developed, ensuring a rapid switching time. Variable delay units are placed at the beginning of each cascade to correct for any inadvertent differences in the delays of the cascades. The variable delay units can also be used to control the shapes of the transmitted impulses. By varying the number of operating H-bridges, the current, and therefore the power, to the antenna may be controlled to compensate for the distance between localizers.
An H-bridge is a switch configuration which allows the voltage across either lead to be switched from high to low, or low to high, while never creating an open circuit while current is flowing. A current pulse through the antenna generates two electromagnetic impulsesxe2x80x94the first electromagnetic impulse corresponding to the beginning of the current pulse has a first polarization, and the second electromagnetic impulse corresponding to the end of the current pulse has an opposite polarization. Terminating current pulses through the antenna by returning both leads to high, both leads to low, or alternating both leads high and both leads low, allows the shapes, and therefore the spectra, of transmitted impulses to be controlled. In the preferred embodiment, all the switches in the H-bridge are opened when the antenna is not in use.
The present invention is directed to a transceiver for nonsinusoidal spread spectrum (NSS) radio communications. During a time window in which a signal is expected to be received, a code-sequence generator produces an integration sequence which is directed to a correlator circuit. The correlator circuit calculates integrals of the product of the received signal and delayed integration sequences to produce a correlation function. After the time window, a processor determines the time of arrival of the received signal from the correlation function.
The present invention is also directed to a method for determining the distance between a pair of radio transceivers. A first transceiver emits a first communication signal at a prearranged time. The second transceiver emits a second communication signal after a prearranged delay time from the time it expects to receive the first communication signal. After transmitting the second communication signal the second transceiver determines the time it received the first communication signal. After receiving the second communication signal the first transceiver determines the time it received that signal. The two transceivers then determine the distance therebetween based on the transmission and arrival times.
It is therefore an object of the present invention to provide a system of transceivers (xe2x80x9clocalizersxe2x80x9d) which can accurately determine their relative positions.
Further objects of the present invention are to provide localizers that are small, inexpensive and have low power consumption, particularly localizers that can be battery powered.
It is another object of the present invention to provide localizers which can operate without a clear view of the sky.
It is another object of the present invention to provide a system of localizers which do not include planetary satellites.
It is another object of the present invention to provide localizers which use nonsinusoidal spread spectrum (NSS) radio transmissions.
It is another object of the present invention to provide localizers which use low-noise logic during transmission and/or reception to increase the signal-to-noise ratio.
It is another object of the present invention to provide a very stable real-time clock counter with low power consumption, low-noise emissions during reception and transmission, a wide dynamic range and high resolution.
It is another object of the present invention to provide a very stable low-noise high-frequency clock which substitutes for a standard-circuitry low-frequency clock during transmission and/or reception with no loss of phase or clock impulses.
It is another object of the present invention to provide a highly stable and accurate timebase for a system of communicating units generated from a small number of highly accurate clocks or accurately known distances between units, where the majority of the units have low-accuracy clocks.
It is another object of the present invention to provide ranging protocols which determine the separation distances and relative clock rates of localizers, including iterative converging protocols.
It is another object of the present invention to provide ranging protocols which provide a degree of location privacy.
It is another object of the present invention to provide protocols for initiating communications between localizers.
It is another object of the present invention to provide antennas compatible with NSS transmissions and receptions.
It is another object of the present invention to provide an NSS antenna which can transmit electromagnetic waves with multiple polarizations.
It is another object of the present invention to provide an antenna which is relatively insensitive to its orientation with respect to incoming NSS radiation.
It is another object of the present invention to provide means for rapid switching of large currents through an NSS antenna.
It is another object of the present invention to provide circuitry for calculating the correlation between extremely rapidly varying signals, particularly the cross-correlation of a received analog signal and an internally-generated digital version of the analog signal.
It is another object of the present invention to determine the location of the maximum of the correlation function between a received analog signal and an internally-generated digital version of the analog signal, by integrating the received analog signal and versions of the internally-generated signal delayed by a number of time offsets.
It is another object of the present invention to provide circuitry for calculating the integral of an extremely rapidly varying analog signal, particularly that of an analog signal formed by the product of an analog signal and a digital signal having values of positive unity, negative unity and zero.
It is another object of the present invention to provide a chip function which causes the pattern of values in the correlation time bins to vary strongly with small time shifts of the received input waveform, i.e., which causes the shape of a pseudo-autocorrelation function examined at a series of discrete time intervals to vary strongly with small shifts of the arrival time of the received input waveform.
It is another object of the present invention to provide internally-generated chip waveforms and time bin locations useful in determining the exact arrival time of an NSS communication over a large span of time, locating the approximate arrival time of an NSS communication, and/or increasing the signal-to-noise ratio.
In addition, other objects, features and advantages of the present invention will become apparent from the following detailed description when taken in conjunction with the accompanying drawings.